package com.jwsoft.manager.common.vo.eduStudentEnroll;

import com.bifang.assistant.common.vo.BaseVO;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.jwsoft.manager.common.vo.YwApply.CompanyVO;
import com.jwsoft.manager.common.vo.YwApply.LivePlaceVO;
import com.jwsoft.manager.common.vo.YwApply.SocialSecurityVO;
import com.jwsoft.manager.common.vo.YwApply.StudentStatusVO;
import com.jwsoft.manager.common.vo.eduFormEnrollParams.EduFormEnrollParamsVO;
import com.jwsoft.manager.common.vo.eduHouse.EduHouseVO;
import com.jwsoft.manager.common.vo.eduHousehold.EduHouseholdVO;
import com.jwsoft.manager.common.vo.eduNetsign.EduNetsignVO;
import com.jwsoft.manager.common.vo.eduStudentEnrollVerification.EduStudentEnrollVerificationVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * VO
 *
 * @author wangtao
 * @since 2022-12-05
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Schema(name = "SaveStudentEnrollVO", title = "学生报名提交实体", description = "学生报名提交实体")
public class SaveStudentEnrollVO extends BaseVO {
    @Schema(name = "studentEnrollId", title = "主键")
    private String studentEnrollId;
    @Schema(name = "studentEnrollPreId", title = "预采集主键")
    private String studentEnrollPreId;
    @Schema(name = "enrollBeforeId", title = "预报名主键")
    private Long enrollBeforeId;
    @Schema(name = "fullName", title = "学生姓名")
    private String fullName;

    @Schema(name = "idcard", title = "学生身份证")
    private String idcard;

    @Schema(name = "cardType", title = "学生证件类型")
    private String cardType;

    @Schema(name = "birthYmd", title = "出生日期")
    private String birthYmd;

    @Schema(name = "sex", title = "性别")
    private String sex;

    @Schema(name = "sexName", title = "性别")
    private String sexName;

    @Schema(name = "address", title = "现居住地址")
    private String address;

    @Schema(name = "cellphone", title = "联系电话")
    private String cellphone;

    @Schema(name = "householdPlace", title = "户籍地")
    private String householdPlace;

    @Schema(name = "remarks", title = "备注")
    private String remarks;

    @Schema(name = "fatherName", title = "父亲（监护人）姓名")
    private String fatherName;

    @Schema(name = "fatherCardType", title = "父亲（监护人）证件类型")
    private String fatherCardType;

    @Schema(name = "fatherIdcard", title = "父亲（监护人）证件号码")
    private String fatherIdcard;

    @Schema(name = "fatherWork", title = "父亲（监护人）工作")
    private String fatherWork;

    @Schema(name = "fatherCellphone", title = "父亲（监护人）手机")
    private String fatherCellphone;

    @Schema(name = "motherName", title = "母亲姓名")
    private String motherName;

    @Schema(name = "motherCardType", title = "母亲证件类型")
    private String motherCardType;

    @Schema(name = "motherIdcard", title = "母亲身份证")
    private String motherIdcard;

    @Schema(name = "motherWork", title = "母亲工作")
    private String motherWork;

    @Schema(name = "motherCellphone", title = "母亲手机")
    private String motherCellphone;

    @Schema(name = "source", title = "来源(1,一键报名,2,特殊渠道录入)")
    private String source;

    @Schema(name = "spareRegisterFlag", title = "是否空额抢报 1.是 0.否")
    private String spareRegisterFlag;

    @Schema(name = "aspirationType", title = "第几志愿")
    private String aspirationType;

    @Schema(name = "schoolId", title = "学校")
    private String schoolId;

    @Schema(name = "schoolName", title = "学校名称")
    private String schoolName;

    @Schema(name = "schoolCategory", title = "学段")
    private String schoolCategory;
    @Schema(name = "schoolCategoryName", title = "学段")
    private String schoolCategoryName;

    @Schema(name = "schoolNature", title = "选择学校办别0.公办 1.民办")
    private String schoolNature;
    @Schema(name = "schoolNatureName", title = "选择学校办别0.公办 1.民办")
    private String schoolNatureName;

    @Schema(name = "year", title = "年份")
    private Integer year;

    @Schema(name = "serialNum", title = "摇号序号")
    private Integer serialNum;
    @Schema(name = "schoolNum", title ="学校代码")
    private String schoolNum;
    @Schema(name = "formOrderNo", title ="表单排序字段")
    private Integer formOrderNo;
    @Schema(name = "applyId", title = "报名编号")
    private String applyId;

    @Schema(name = "icertificatioFlag", title = "是否需要现场核证1，是0，否")
    private String icertificatioFlag;

    @Schema(name = "formId", title = "报名表单id")
    private String formId;

    @Schema(name = "configTypeName", title = "招生计划类别")
    private String configTypeName;

    @Schema(name = "configName", title = "招生类别")
    private String configName;

    @Schema(name = "graduationSchoolName", title = "原毕业学校")
    private String graduationSchoolName;

    @Schema(name = "houseId", title = "房产id")
    private String houseId;

    @Schema(name = "houseAdreess", title = "房产地址")
    private String houseAdreess;

    @Schema(name = "householdId", title = "户籍id")
    private String householdId;

    @Schema(name = "specialFlag", title = "特殊人员标识、针对学校录入的")
    private String specialFlag;

    @Schema(name = "privateAppointFlag", title = "是否民办直升班 0 否 1 是")
    private String privateAppointFlag;

    @Schema(name = "privateAppointStudentId", title = "民办直升班名单id")
    private String privateAppointStudentId;

    @Schema(name = "appointFlag", title = "是否城区E类人员 0 否 1 是")
    private String appointFlag;

    @Schema(name = "appointStudentId", title = "E类学籍名单id")
    private String appointStudentId;

    @Schema(name = "netsignFlag", title = "是否有网签")
    private String netsignFlag;

    @Schema(name = "studentStatusId", title = "学籍id")
    private String studentStatusId;

    @Schema(name = "livePlaceFlag", title = "是否有居住证")
    private String livePlaceFlag;

    @Schema(name = "deployFlag", title = "是否调配 0 否 1 是")
    private String deployFlag;

    @Schema(name = "basis", title = "调剂说明")
    private String basis;

    @Schema(name = "parentId", title = "上级报名id")
    private String parentId;

    @Schema(name = "otherEnrollStatus", title = "当前学段其他地市录取情况 0 未录取 1已录取")
    private String otherEnrollStatus;

    @Schema(name = "otherEnrollUnit", title = "当前学段其他地市录取单位")
    private String otherEnrollUnit;
    @Schema(name = "qyFlag",title = "是否有企业信息")
    private String qyFlag;
    @Schema(name = "creditCode", title = "开办企业统一社会信用代码")
    private String creditCode;

    @Schema(name = "cbFlag", title = "是否参保：0未参保 1 已参保")
    private String cbFlag;

    @Schema(name = "param1", title = "自定义字段1")
    private String param1;

    @Schema(name = "param2", title = "自定义字段2")
    private String param2;

    @Schema(name = "param3", title = "自定义字段3")
    private String param3;

    @Schema(name = "param4", title = "自定义字段4")
    private String param4;

    @Schema(name = "param5", title = "自定义字段5")
    private String param5;

    @Schema(name = "param6", title = "自定义字段6")
    private String param6;

    @Schema(name = "param7", title = "自定义字段7")
    private String param7;

    @Schema(name = "param8", title = "自定义字段8")
    private String param8;

    @Schema(name = "param9", title = "自定义字段9")
    private String param9;

    @Schema(name = "param10", title = "自定义字段10")
    private String param10;

    @Schema(name = "param11", title = "自定义字段11")
    private String param11;

    @Schema(name = "param12", title = "自定义字段12")
    private String param12;

    @Schema(name = "param13", title = "自定义字段13")
    private String param13;

    @Schema(name = "param14", title = "自定义字段14")
    private String param14;

    @Schema(name = "param15", title = "自定义字段15")
    private String param15;

    @Schema(name = "param16", title = "自定义字段16")
    private String param16;

    @Schema(name = "param17", title = "自定义字段17")
    private String param17;

    @Schema(name = "param18", title = "自定义字段18")
    private String param18;

    @Schema(name = "param19", title = "自定义字段19")
    private String param19;

    @Schema(name = "param20", title = "自定义字段20")
    private String param20;

    @Schema(name = "registerDate", title = "登记日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date registerDate;

    @Schema(name = "realProperty", title = "不动产权号")
    private String realProperty;

    @Schema(name = "realPropertyNum", title = "不动产单元号 国标")
    private String realPropertyNum;

    @Schema(name = "qlrName", title = "权利人姓名")
    private String qlrName;

    @Schema(name = "householdAddress", title = "户口所在完整地址")
    private String householdAddress;

    @Schema(name = "qysj", title = "启用时间")
    private String qysj;

    @Schema(name = "street", title = "所属街道")
    private String street;


    @Schema(name = "bbFlag", title = "是否补报")
    private String bbFlag;

    @Schema(name = "areaCode", title = "行政区划")
    private String areaCode;

    @Schema(name = "gbConfigName",title="公办报名类别")
    private String gbConfigName;

    @Schema(name = "gbSchoolName",title="公办学校名称")
    private String gbSchoolName;

    @Schema(name = "otherSchoolList",title = "报名的其他学校，民办，民转公")
    List<ApplySchoolVO> otherSchoolList;
    @Schema(name = "abandonZsbFlag",title = "是否放弃直升班 1 是 0 否")
    private String abandonZsbFlag;

    @Schema(name = "lrFlag", title = "是否线下报名录入")
    private Boolean lrFlag;
    @Schema(name = "managerFlag", title = "是否管理员录入")
    private Boolean managerFlag;

    @Schema(name = "followFlag",title="是否长幼随学 0 否 1是")
    private String followFlag;
    @Schema(name = "followIdcard",title="随学的兄/姐身份证号码")
    private String followIdcard;
    @Schema(name = "followFullName", title = "随学的兄/姐姓名")
    private String followFullName;
    @Schema(name = "followType", title = "随学的需求类型：1 本校就读 2 随兄组到调剂学校入学")
    private String followType;
    @Schema(name = "followSchoolId", title = "随学的兄/姐学校id")
    private String followSchoolId;
    @Schema(name = "followSchoolName", title = "随学的兄/姐学校名称")
    private String followSchoolName;
    @Schema(name = "followSchoolClass", title = "随学的兄/姐学校年级班级")
    private String followSchoolClass;
    @Schema(name = "bindFlag",title="是否捆绑摇号 0 否 1是")
    private String bindFlag;
    @Schema(name = "bindIdcard",title="捆绑的身份证号码")
    private String bindIdcard;
    @Schema(name = "bindIdcardList",title="捆绑的身份证号码 多胞胎")
    private List<String> bindIdcardList;
    @Schema(name = "bindMianFlag",title="是否主摇号信息  0 否 1 是")
    private String bindMianFlag;
    @Schema(name = "cbStartTime",title="本次参保开始时间")
    private String cbStartTime;
    @Schema(name = "cbTotal", title = "累计缴费月数")
    private Integer cbTotal;
    @Schema(name = "followingFlag",title="是否非随迁子女 0 否 1 是")
    private String followingFlag;
    @Schema(name = "socialSecurityId", title = "报名使用社保id")
    private String socialSecurityId;
    @Schema(name = "netsignId", title = "报名使用网签id")
    private String netsignId;
    @Schema(name = "companyId", title = "报名使用企业id")
    private String companyId;
    @Schema(name = "livePlaceId", title = "居住证id")
    private String livePlaceId;
    @Schema(name = "单独直升班报名")
    private Boolean zsbEnrollFlag;
    @Schema(name = "aborigineFlag", title = "是否原住居民")
    private String aborigineFlag;
    @Schema(name = "serviceFlag", title = "是否服务区")
    private String serviceFlag;
    @Schema(name = "configNameAlias", title = "招生类别别名")
    private String configNameAlias;
    @Schema(name = "configNameNum", title = "同类别序号")
    private Integer configNameNum;
    @Schema(name = "enrollNum", title = "第几轮报名")
    private Integer enrollNum;
    @Schema(name = "verificationVOList", title = "线下核验类型")
    private List<EduStudentEnrollVerificationVO> verificationVOList;
    @Schema(name = "verificationFlag", title = "线下核验报名")
    private Boolean verificationFlag;
    @Schema(name = "whiteFlag", title = "是否白名单报名")
    private String whiteFlag;

    @Schema(name = "excelRemarks", description = "Excel导入备注")
    private String excelRemarks;

}
